import request from "@/utils/request";

const SYS_TEXT_BASE_URL = "/api/v1/sys-text";

const SysTextAPI = {
  /**
   * 获取大文本存储分页列表
   * @param {Object} queryParams 查询参数
   * @returns {Promise} 大文本存储分页列表
   */
  getPage(queryParams) {
    return request({
      url: `${SYS_TEXT_BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  },

  /**
   * 新增大文本存储
   * @param {Object} data 大文本存储表单数据
   * @returns {Promise} 添加结果
   */
  create(data) {
    return request({
      url: `${SYS_TEXT_BASE_URL}`,
      method: "post",
      data: data,
    });
  },

  /**
   * 获取大文本存储表单数据
   * @param {string} id 大文本存储ID
   * @returns {Promise} 大文本存储表单数据
   */
  getFormData(id) {
    return request({
      url: `${SYS_TEXT_BASE_URL}/${id}/form`,
      method: "get",
    });
  },

  /**
   * 修改大文本存储
   * @param {string} id 大文本存储ID
   * @param {Object} data 大文本存储表单数据
   * @returns {Promise} 修改结果
   */
  update(id, data) {
    return request({
      url: `${SYS_TEXT_BASE_URL}/${id}`,
      method: "put",
      data: data,
    });
  },

  /**
   * 删除大文本存储
   * @param {string} ids 大文本存储ID，多个以英文逗号(,)分割
   * @returns {Promise} 删除结果
   */
  deleteByIds(ids) {
    return request({
      url: `${SYS_TEXT_BASE_URL}/${ids}`,
      method: "delete",
    });
  },

  /**
   * 根据key获取文本内容
   * @param {string} fileKey 文本key
   * @returns {Promise} 文本内容
   */
  getTextByKey(fileKey) {
    return request({
      url: `${SYS_TEXT_BASE_URL}/key/${fileKey}`,
      method: "get",
    });
  },

  /**
   * 根据key保存或更新文本内容
   * @param {string} fileKey 文本key
   * @param {Object} data 文本表单数据
   * @returns {Promise} 保存或更新结果
   */
  saveOrUpdateTextByKey(fileKey, data) {
    return request({
      url: `${SYS_TEXT_BASE_URL}/key/${fileKey}`,
      method: "put",
      data: data,
    });
  },

  /**
   * 根据key保存或更新文本内容
   * @param {Object} data 文本表单数据
   * @returns {Promise} 保存或更新结果
   */
  saveOrUpdateDigitalTextByKey(data) {
    return request({
      url: `${SYS_TEXT_BASE_URL}/key/digital`,
      method: "put",
      data: data,
    });
  },
};

export default SysTextAPI;
